The present invention is related to transferring fragments of packets from fabrics to a port card. More specifically, the present invention is related to transferring fragments of packets from fabrics to a port card and stopping the transfer of companion fragments of the same packet from different fabrics to the port card because of a back-pressure signal.
The Unstriper needs to provide back-pressure to the Separators when internal FIFOs in the Unstriper become near full. The back-pressure signal is considered to be asynchronous to all ASICs and yet it is required that all relevant Separators receive back-pressure from a particular channel in the Unstriper at precisely the same logical cycle. The Separators needs to stop sending valid data (companion fragments of the same packet) at precisely the same logical cycle for one complete counter tick interval. A switch which stripes data onto multiple fabrics and sends parity data to another fabric has been described in U.S. patent application Ser. No. 09/333,450, incorporated by reference herein. See also U.S. patent application Ser. No. 09/293,563 which describes a wide memory TDM switching system, incorporated by reference herein.
The present invention pertains to a switch. The switch comprises a plurality of port cards. Each port card having an unstriper having a plurality of internal FIFOs which produces a back pressure signal whenever any one of the plurality of internal FIFOs has a predetermined amount of data of fragments of packets. The unstriper has an unstriper timing mechanism that maintains the timing of the operation of the unstriper. The switch comprises a plurality of fabrics. Each fabric is connected to each port card. Each fabric having a separator which sends fragments of a packet to an associated unstriper and which stops sending fragments of the packets when the separator receives a back pressure signal, and a fabric clock which maintains the timing of the operation of the separator. The fabric clock maintains the timing of the operation of the separator at a predetermined separator delay to the timing of the operation of the unstriper. The separator delay greater than any back pressure propagation delay between any one of the plurality of unstripers and any one of the plurality of separators so all separators stop sending companion fragments of the same packet at the same time.
The present invention pertains to a method for switching packets. The method comprises the steps of filling an internal memory of a port card with a predetermined amount of fragments of packets from fragments of fabrics connected to the port card. Then there is the step of sending a back pressure signal from the port card to the fabrics so all the fabrics stop sending companion fragments of the same packet at the same time. Preferably, the filling step includes the step of filling at least one FIFO of a plurality of FIFOs of the port card the predetermined amount.